home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Deutsche Edition 1
/
Deutsche Edition 1.iso
/
amok
/
041-050
/
amok49
/
oprof
/
microtimer
/
microtimer.dok
next >
Wrap
Text File
|
1993-11-04
|
2KB
|
58 lines
:Program. MicroTimer.mod
:Author. Volker Rudolph
:Address. Lettow-Vorbeck-Str. 11 / 6750 Kaiserslautern 26
:Phone. 06301/8566
:Version. 1.4
:Date. 7.3.1990
:Copyright. PD
:Language. Oberon
:Translator. Amiga-Oberon V1.17.1
:History. V1.1 V. Rudolph 24.Apr.1989
:History. V1.2 [bne] 03.Sep.1989 (+ CiaPortName)
:History. V1.3 V. Rudolph 2.1.1990 (Umsetzung in Oberon, neue Funktionen)
:History. V1.4 V. Rudolph 7.3.1990 (Anpassung an Oberon-Compiler V0.9)
:Contents. Das Modul MicroTimer ermöglicht sehr präzise Zeitmessungen.
Dies ist des Umsetzung des Modula2-Moduls MicroTimer nach Oberon.
MicroTimer ist ein Modul, mit dem man sehr präzise Zeitmessungen
vornehmen kann. Es verwendet dafür die beiden Timer der CIA-B. Sie
werden gekoppelt, und ermöglichen so eine maximale Meßdauer von 2^31
Timer-Ticks (ca. 35 Minuten). Die Auflösung der Timer beträgt ca. 1.4
Mikrosekunden.
Die Timer werden vom Betriebssystem für die serielle Schnittstelle
benutzt. Deshalb sollte man das Modul nie gleichzeitig mit der
seriellen Schnittstelle verwenden.
Zu den Prozeduren:
1) 33mPROCEDURE Start;0m
Startet die Zeitmessung.
2) 33mPROCEDURE Look(VAR ticks:LONGINT);0m
Verstrichene Zeit auslesen ohne die Timer zu stoppen.
3) 33mPROCEDURE Stop(VAR ticks:LONGINT);0m
Timer stoppen und verstrichene Zeit auslesen.
4) 33mPROCEDURE Continue;0m
Timer nach 'Stop' weiterlaufen lassen.
5) 33mPROCEDURE TicksToTime(VAR minutes, seconds:INTEGER;
micros:LONGINT; ticks:LONGINT);0m
Ticks in Minuten, Sekunden und restliche Mikrosekunden
umrechnen.
Stop und Look liefern eine 0 zurück, falls die maximale Meßdauer
überschritten wurde.
Beispielprogamm RunTime:
Aufruf:
RunTime "<program> <arguments>"
RunTime startet das Programm <program> mit den Argumenten
<arguments> und ermittelt dessen Ausführungsdauer.